Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Hojas de Google: extraiga números con sus unidades de medida separadas por un espacio en blanco, por ejemplo, "20 km"

Tengo un script para una función personalizada que extrae números con sus unidades de medida:

 /** * @customfunction */ function EXTRACTMEASUREMENT(input) { // match all words which starts with a number var result = input.match(/\d+[a-zA-Zα-ωΑ-Ω]+\S*/g) // combine array into a string separated with spaces result = result.join(' '); // Remove special characters(except whitespace) in the string result = result.replace(/[^a-zA-Zα-ωΑ-Ω0-9\s]/g, '') return result; }

Por ejemplo, tengo un texto en H42 y pongo la función en I42. Funciona así:

ingrese la descripción de la imagen aquí

producción

Pero es que si pongo en H42 un número pero seguido de un espacio y luego la unidad de medida, la función no lo detecta y por lo tanto ni siquiera lo extrae. Ver ejemplo:

ingrese la descripción de la imagen aquí

Como puede ver, "12 kg" y "1 L" tienen un espacio en blanco entre ellos. Entonces, la función solo extrae "50gr", que no está separado por un espacio en blanco.

¿Qué puedo hacer para que la función personalizada devuelva los números con sus unidades de medida incluso si están separados por un espacio en blanco? quiero que vuelva

12kg 1L 50gr

al igual que la segunda imagen adjunta.

Solo soy un principiante en esto, así que no sé cómo escribir código. Sería muy útil si pudiera hacer las modificaciones adecuadas a mi script y luego pegarlo en las respuestas.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Probar

 =arrayformula(substitute(transpose(query(flatten(split( REGEXREPLACE(A1,"([0-9.,/]+[ ]{0,1}[a-zA-Z1-3/.\-""]+)","♣♦$1♣") ,"♣")),"select * where Col1 like '♦%' ")),"♦",""))

o con resultado en una celda

 =substitute(textjoin(" - ",true,query(flatten(split( REGEXREPLACE(A1,"([0-9.,/]+[ ]{0,1}[a-zA-Z1-3/.\-""]+)","♣♦$1♣") ,"♣")),"select * where Col1 like '♦%' ")),"♦","")

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda